Everything about Partial Evaluation totally explained
In
computing,
partial evaluation is a technique for
program optimization by
specialization.
A
computer program is seen as a mapping
prog of input data into output data:
» by precomputing all static input at compile time.
is called the "residual program" and should run more efficiently than the original program. The act of partial evaluation is said to "residualize"
to
.
Futamura projections
A particularly interesting example of this, first described in the
1970s by
Yoshihiko Futamura, is when
prog is an interpreter for a programming language.
If I
static is source code designed to run inside said interpreter, then partial evaluation of the interpreter with respect to this data/program produces
prog*, a version of the interpreter that only runs that source code, is written in the implementation language of the interpreter, doesn't require the source code to be resupplied, and runs faster than the original combination of the interpreter and the source. In this case prog* is effectively a compiled version of I
static.
This technique is known as the first Futamura projection, of which there are three:
- Compiling by specializing an interpreter
- Compiler generation by self-application
- Compiler generator generation by double self-application
Further Information
Get more info on 'Partial Evaluation'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://partial_evaluation.totallyexplained.com">Partial evaluation Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |